import { ReqPage } from "../..";

/**
 * 创建部门参数
 */
export interface CreateDepartmentParam {
  /** 父级部门Id */
  parentDepartmentId: string;

  /** 部门名称 */
  departmentName: string;

  /** 显示顺序 */
  orderNum: number;

  /** 部门编码 */
  departmentNumber?: string;

  /** 联系方式 */
  telephone?: string;

  /** 邮箱 */
  email?: string;

  /** 部门备注 */
  departmentDesc?: string;

  /** 状态 0-禁用 1-启用 -1-删除 */
  status: number;
}

/**
 * 编辑部门信息参数
 */
export interface EditDepartmentInfoParam {
  /** 部门Id 主键 */
  departmentId: string;

  /** 父级部门Id */
  parentDepartmentId: string;

  /** 部门名称 */
  departmentName: string;

  /** 显示顺序 */
  orderNum: number;

  /** 部门编码 */
  departmentNumber?: string;

  /** 联系方式 */
  telephone?: string;

  /** 邮箱 */
  email?: string;

  /** 部门备注 */
  departmentDesc?: string;

  /** 状态 0-禁用 1-启用 -1-删除 */
  status: number;
}

/**
 * 修改部门状态参数
 */
export interface EditDepartmentStatusParam {
  /**
   * 部门Id
   */
  departmentId: string;

  /**
   * 状态 0-禁用 1-正常 -1-删除
   */
  status: number;
}

/**
 * 查询部门列表参数
 */
export interface GetDepartmentListParam {
  /**
   * 部门名称
   */
  departmentName?: string;

  /**
   * 状态 0-禁用 1-启用 -1-删除
   */
  status?: number;
}

/** 部门树形数据 */
export interface DepartmentTreeResult {
  /**
   * 部门Id
   */
  departmentId: string;

  /**
   * 父级部门Id
   */
  parentDepartmentId: string;

  /**
   * 部门名称
   */
  departmentName: string;

  /**
   * 显示顺序
   */
  orderNum: number;

  /**
   * 部门编码
   */
  departmentNumber?: string;

  /**
   * 联系方式
   */
  telephone?: string;

  /**
   * 邮箱
   */
  email?: string;

  /**
   * 状态 0-禁用 1正常 -1删除
   */
  status: number;

  /**
   * 创建时间
   */
  createDate: string;

  /**
   * 创建者Id
   */
  createUserId: string;

  /**
   * 创建者
   */
  createUserName: string;

  /**
   * 更新时间
   */
  updateDate?: string;

  /**
   * 更新者Id
   */
  updateUserId?: string;

  /**
   * 更新者
   */
  updateUserName?: string;

  /**
   * 子级部门
   */
  children?: DepartmentTreeResult[];
}
